package org.micro.frame.oss;

import lombok.Data;
import org.springframework.boot.context.properties.ConfigurationProperties;

/**
 * The Qi Niu OSS Properties
 *
 * @author lry
 * @since 1.0.0
 */
@Data
@ConfigurationProperties(prefix = "micro.oss.qi-niu")
public class QiNiuOSSProperties {

    private String accessKey;
    private String secretKey;
    private Configuration configuration;

    @Data
    public static class Configuration{
        /**使用的Zone**/
        public String zone;
        /**空间相关上传管理操作是否使用 https , 默认否**/
        public Boolean useHttpsDomains;
        /**如果文件大小大于此值则使用断点上传, 否则使用Form上传**/
        public Integer putThreshold;
        /**连接超时时间 单位秒(默认10s)**/
        public Integer connectTimeout;
        /**写超时时间 单位秒(默认 0 , 不超时)**/
        public Integer writeTimeout;
        /**回复超时时间 单位秒(默认30s)**/
        public Integer readTimeout;
        /**底层HTTP库所有的并发执行的请求数量**/
        public Integer dispatcherMaxRequests;
        /**底层HTTP库对每个独立的Host进行并发请求的数量**/
        public Integer dispatcherMaxRequestsPerHost;
        /**底层HTTP库中复用连接对象的最大空闲数量**/
        public Integer connectionPoolMaxIdleCount;
        /**底层HTTP库中复用连接对象的回收周期（单位分钟）**/
        public Integer connectionPoolMaxIdleMinutes;
        /**上传失败重试次数**/
        public Integer retryMax;
        /**解析域名时,优先使用host配置,主要针对内部局域网配置**/
        public Boolean useDnsHostFirst;
    }

}
